home *** CD-ROM | disk | FTP | other *** search
-
-
-
- bbbbzzzzeeeerrrroooo((((DDDD3333)))) bbbbzzzzeeeerrrroooo((((DDDD3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- _bbbb_zzzz_eeee_rrrr_oooo - clear memory for a given number of bytes
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
- _vvvv_oooo_iiii_dddd _bbbb_zzzz_eeee_rrrr_oooo_((((_cccc_aaaa_dddd_dddd_rrrr______tttt _a_d_d_r_,,,, _ssss_iiii_zzzz_eeee______tttt _b_y_t_e_s_))))_;;;;
-
- AAAArrrrgggguuuummmmeeeennnnttttssss
- _a_d_d_r Starting virtual address of memory to be cleared.
-
- _b_y_t_e_s The number of bytes to clear.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _bbbb_zzzz_eeee_rrrr_oooo function clears a contiguous portion of memory by filling the
- memory with zeros. It chooses the best algorithm based on address
- alignment and number of bytes to clear.
-
- RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
- None
-
- UUUUSSSSAAAAGGGGEEEE
- There are no alignment restrictions on _a_d_d_r, and no length restrictions
- on _b_y_t_e_s, other than the address range specified must be within the
- kernel address space and must be memory resident. No range checking is
- done. Since there is no mechanism by which drivers that conform to the
- rules of the DDI/DKI can obtain and use a kernel address that is not
- memory resident (an address that is paged out), DDI/DKI conforming
- drivers can assume that any address to which they have access is memory
- resident and therefore a valid argument to _bbbb_zzzz_eeee_rrrr_oooo. An address within user
- address space is not a valid argument, and specifying such an address may
- cause the driver to corrupt the system in an unpredictable way.
-
- LLLLeeeevvvveeeellll
- Initialization, Base or Interrupt.
-
- SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
- Does not sleep.
-
- Driver-defined basic locks, read/write locks, and sleep locks may be held
- across calls to this function.
-
- EEEExxxxaaaammmmpppplllleeeessss
- In a driver _cccc_llll_oooo_ssss_eeee(D2) routine, rather than clear each individual member
- of its private data structure, the driver could use _bbbb_zzzz_eeee_rrrr_oooo as shown here:
- _bbbb_zzzz_eeee_rrrr_oooo_((((_((((_cccc_aaaa_dddd_dddd_rrrr______tttt_))))_&&&&_dddd_rrrr_vvvv______dddd_aaaa_tttt_[[[[_gggg_eeee_tttt_mmmm_iiii_nnnn_oooo_rrrr_((((_dddd_eeee_vvvv_))))_]]]]_,,,, _ssss_iiii_zzzz_eeee_oooo_ffff_((((_ssss_tttt_rrrr_uuuu_cccc_tttt _dddd_rrrr_vvvv_rrrr______dddd_aaaa_tttt_aaaa_))))_))))_;;;;
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- bbbbzzzzeeeerrrroooo((((DDDD3333)))) bbbbzzzzeeeerrrroooo((((DDDD3333))))
-
-
-
- REFERENCES
- _bbbb_cccc_oooo_pppp_yyyy(D3), _cccc_llll_rrrr_bbbb_uuuu_ffff(D3), _kkkk_mmmm_eeee_mmmm______zzzz_aaaa_llll_llll_oooo_cccc(D3)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-